// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/kpdus/jad.html // Decompiler options: braces fieldsfirst space lnc package de.greenrobot.dao.identityscope; import de.greenrobot.dao.internal.LongHashMap; import java.lang.ref.Reference; import java.lang.ref.WeakReference; import java.util.Iterator; import java.util.concurrent.locks.ReentrantLock; // Referenced classes of package de.greenrobot.dao.identityscope: // IdentityScope public class IdentityScopeLong implements IdentityScope { private final ReentrantLock lock = new ReentrantLock(); private final LongHashMap map = new LongHashMap(); public IdentityScopeLong() { } public void clear() { lock.lock(); map.clear(); lock.unlock(); return; Exception exception; exception; lock.unlock(); throw exception; } public boolean detach(Long long1, Object obj) { lock.lock(); if (get(long1) != obj || obj == null) { break MISSING_BLOCK_LABEL_34; } remove(long1); lock.unlock(); return true; lock.unlock(); return false; Exception exception; exception; lock.unlock(); throw exception; } public volatile boolean detach(Object obj, Object obj1) { return detach((Long)obj, obj1); } public Object get(Long long1) { return get2(long1.longValue()); } public volatile Object get(Object obj) { return get((Long)obj); } public Object get2(long l) { lock.lock(); Reference reference = (Reference)map.get(l); lock.unlock(); Exception exception; if (reference != null) { return reference.get(); } else { return null; } exception; lock.unlock(); throw exception; } public Object get2NoLock(long l) { Reference reference = (Reference)map.get(l); if (reference != null) { return reference.get(); } else { return null; } } public Object getNoLock(Long long1) { return get2NoLock(long1.longValue()); } public volatile Object getNoLock(Object obj) { return getNoLock((Long)obj); } public void lock() { lock.lock(); } public void put(Long long1, Object obj) { put2(long1.longValue(), obj); } public volatile void put(Object obj, Object obj1) { put((Long)obj, obj1); } public void put2(long l, Object obj) { lock.lock(); map.put(l, new WeakReference(obj)); lock.unlock(); return; Exception exception; exception; lock.unlock(); throw exception; } public void put2NoLock(long l, Object obj) { map.put(l, new WeakReference(obj)); } public void putNoLock(Long long1, Object obj) { put2NoLock(long1.longValue(), obj); } public volatile void putNoLock(Object obj, Object obj1) { putNoLock((Long)obj, obj1); } public void remove(Iterable iterable) { lock.lock(); Long long1; for (Iterator iterator = iterable.iterator(); iterator.hasNext(); map.remove(long1.longValue())) { long1 = (Long)iterator.next(); } break MISSING_BLOCK_LABEL_60; Exception exception; exception; lock.unlock(); throw exception; lock.unlock(); return; } public void remove(Long long1) { lock.lock(); map.remove(long1.longValue()); lock.unlock(); return; Exception exception; exception; lock.unlock(); throw exception; } public volatile void remove(Object obj) { remove((Long)obj); } public void reserveRoom(int i) { map.reserveRoom(i); } public void unlock() { lock.unlock(); } }